Method for estimating crystal coefficient values for a signal generator

ABSTRACT

Based on an initial crystal coefficient value, a processor generates a control signal for a frequency synthesizer. The processor estimates a new crystal coeficient value based on a comparison of the frequency of the output of the frequency synthesizer against a target output frequency in relation to a crystal temperature value.

FIELD OF THE INVENTION

[0001] The present invention relates generally to radio communication devices, and specifically to crystal based devices and methods for accurate frequency control of radio transceivers.

BACKGROUND

[0002] Crystal oscillators (XOs), which are often used in frequency control on radio transceivers and other applications, are not in and of themselves sufficiently stable to provide an accurate and consistent source signal. The inherent frequency of a crystal oscillator is known to vary with temperature and also to change gradually as the crystal ages. Because of these shortcomings of ordinary crystal oscillators, transceivers known in the art generally use either a temperature-compensated crystal oscillator (TCXO) or a voltage-controlled TCXO (VCTCXO) as a precise frequency reference source. TCXO, and VCTCXOs, however, are larger and more expensive than simple crystal oscillators.

[0003] Systems and methods are known which derive control parameters, such as divider values, for a conventional synthesizer from the synthesizer's crystal coefficient values and from its temperature. These systems are able to obtain from a frequency synthesizer using a conventional crystal oscillator frequency accuracy comparable to that of TCXOs or VCTCXOs based synthesizers. More specifically, these systems take into account that the output frequency of an XO equals a nominal output frequency (f₀) plus Δf_(Cr) which may be calculated in accordance with the formula below:

Δf _(Cr)[ppm]=d+c*t _(x) +b*t _(x) ² +a*t _(x) ³

[0004] where t_(x) is equal to (T_(actual)) minus (T_(nominal)), the crystal coefficients (d, c, b and a) are specific to the crystal, and Δf_(Cr)[ppm] represents frequency deviation in parts per million.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:

[0006]FIG. 1 is a block diagram showing transceiver capable of deriving a crystal's coefficient values according to the present invention;

[0007]FIG. 2 is a flow diagram showing the steps of an iterative method for deriving a crystal's coefficient values according to the present invention; and

[0008]FIG. 3 is a graph showing variations in the output frequency over multiple iteration of the method of FIG. 1.

[0009] It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION

[0010] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.

[0011] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining”, or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing systems memories, registers or other such information storage, transmission or display devices.

[0012] Embodiments of the present invention may include apparatuses for performing the operations herein. This apparatus may be specially constructed for the desired purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs) electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions, and capable of being coupled to a computer system bus.

[0013] The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the inventions as described herein.

[0014] As part of the present invention, based on assumed initial crystal coefficient values, a crystal temperature value, and a target frequency value, a processor produces a control signal intended to cause a frequency synthesizer or signal generator to produce a signal at the target frequency. The output of the frequency synthesizer is evaluated to determine the difference between the actual frequency of the output and the target output frequency, which is denoted the frequency error. The processor recalculates or re-estimates the assumed crystal coefficient values based on the detected frequency error and temperature and to produces another signal intended to cause the frequency synthesizer to produce a signal at the desired target frequency. The crystal coefficient values are recalculated until the frequency error is below a threshold value.

[0015] Turning now to FIG. 1, as part of an embodiment in accordance with the present invention there is shown a transceiver 100 having a modulator 150 and demodulator 170 receiving a signal from a frequency synthesizer (signal generator) 130. The frequency synthesizer 130 having a crystal oscillator 132 supplying a reference signal to a frequency divider/multiplier 136 and being thermally coupled to a temperature detector 134.

[0016] The transceiver 100 also includes a digital signal processor (“DSP”) 110 or functionally similar computing device. The DSP having a frequency error detector 112, a coefficient update module 114 and a frequency synthesizer input generation module 116.

[0017] Turning now to FIG. 2, there is shown a flow diagram listing the steps of a method by which a crystal's coefficient values may be derived according to the present invention. As part of the first (Step 10), initial crystal coefficient values are loaded into the DSP 110, specifically the initial crystal coefficient values are loaded into the coefficient update module 114 of the DSP 110. The initial coefficient values, which are usually provided by the crystal manufacturer as “nominal coefficient values”, are only estimations of the crystal's actual coefficient values. The crystal's actual coefficient values often differ substantially from the nominal coefficient value. Based on the initial coefficient values, control parameters for the frequency synthesizer 130 are generated (Step 20). The control parameters, which may include one or more values to be uploaded into a register of the frequency divider/multiplier 136, are calculated so as to cause the frequency synthesizer 130 to produce a desired frequency, for example the frequency of a signal being received by the demodulator 170.

[0018] Once the parameters are calculated, they are uploaded (Step 30) to the frequency divider/multiplier 136. The frequency divider/multiplier 136 receives a reference signal from the crystal oscillator 132 and based on the uploaded parameters converts the reference signal to an output signal having an actual output frequency. The actual frequency of the output signal may be compared against the frequency of the desired output (step 40) in one of several ways. The frequency error detector 112 may either compare the direct output of the frequency synthesizer 130 against an external reference signal. Alternatively, the error detector 112 may compare the frequency of a signal which has been received, down converted using the synthesizer's 130 output signal against an independent reference signal source such as a signal derived from the DSP clock. Determining signal frequency and signal frequency error is well known, and any such method is suitable to the present invention.

[0019] A decision of whether or not the detected frequency error is within some threshold limit is made as part of Step 50. For example, modem cellular networks use tolerances from 3 to 0.2 parts per million. If the detected frequency error is within the acceptable limits, the crystal coefficient values upon which the parameters were based are stored (Step 60 a) as the crystal's actual coefficient values. However, if the frequency error is beyond predefined limits, there is a recalculation of the coefficients performed by the coefficient update module 114. New coefficients are calculated based on the previous coefficient values, the frequency error, and based on the crystal's temperature (step 60)b). The following is an example of an algorithm for calculating new coefficients:

[0020] Adaptive “c” and “d” coefficients correction using measured frequency error. The solution for optimum coefficient vector is usually obtained by an iterative procedure. The simplest one is the method of steepest descent, in which one begins by choosing initial values for coefficient vector [c(0),d(0)].

[0021] The first “d” coefficient d(0) may first be estimated by the following equation:

d(0)=(F−a*(Tactual−T₀)^ 3−b*(Tactual−T₀)^ 2−c*(Tactual−T₀));  Equation 1:

[0022] where:

[0023] Tactual—actual temperature calibration performed for. Measured on Xtal;

[0024] F—measured Xtal oscillator frequency at Troom

[0025] T₀—Nominal transition point (28.9 deg. C.)

[0026] a, b, c—Nominal polynom coefficients

[0027] In accordance to the crystal polynom properties, the temperature range of interest is divided in two parts: one for “d” coefficient estimation and second one for “c” coefficient estimation. This is to avoid explicit computation for “c” and “d” coefficients simultaneously. Moreover, it has been simulated that “a” and “b” coefficients variance impose negligible frequency error, that could be compensated partially in “c” and “d” estimated values. However, similar algorithm could be applied for “a” and “b” coefficients estimation.

[0028] For temperature ranges where |T_(actual)−T₀|<kd, a gradient vector as defined in Fq. 2, is then computed.

g _(m) =d(m)−10^ 6*(F_(actual)(m+1)−F_(required))|(ƒ_(Cr0)*n),  Equation 2

[0029] where

[0030] Where:

[0031] kd—crystal depended temperature range for “d” coefficient calibration.

[0032] |_(CR0)—Nominal Crystal frequency 28.8 *10 ^ 6 [Hz] for present invention

[0033] F_(actual)(m +1)—F_(required)—frequency error measured in math iteration [Hz]

[0034] N—coefficient corresponded to PLL

[0035] Then “d” coefficient is changed in a direction opposite to its corresponding gradient. The change in the coefficient is proportional to the size of the gradient coefficient, and may be calculated using Equation 3.

d(m+1)=d(m)—dff*g _(m),  Equation 3

[0036] where:

[0037] m—iteration number

[0038] ƒ_(CR0) —Nominal Crystal frequency 28.8*10 ^ 6[Hz]

[0039] dff—step-sise parameter for iterative procedure.

[0040] To ensure convergence of the iterative procedure “dff” is chosen to be a small positive number. However, “dff” may also be dynamically adjusted in positive correlation to the size of the measured signal error.

[0041] When|T_(actual)−T₀ |>kc, gradient the “c” coefficient may be updated using an analogous procedure as the more for the “d” coefficient. However, c(0) is usually given by the crystal provider.

g _(g(m))−10^ 6*(F_(actual)(m+1)−F_(required))|(ƒ_(CR0) ^(*N*)(T_(acutal(m+1))−T₀))  Equation 4

c(m+1)=c(m)−cff*g _(g(m))  Equation 5

[0042] where:

[0043] kc—crystal depended temperature range for “c” coefficient calibration,

[0044] ƒ_(CR0)—Nominal Crystal frequency 28.8 *10 ^ 6[Hz] for present invention

[0045] F_(actual)(m+1)−F_(required)−frequency error measured in m-th iteration [Hz]

[0046] N−coefficient corresponded to PLL frequency division ratio

[0047] cff−“c” step-sise parameter for iterative procedure

[0048] m−iteration number

[0049] Once new coefficient values are calculated (Step 60 b) by the coefficient update module 114, the values are used by the frequency synthesizer input generation module 116 to calculate new control parameters for the frequency synthesizer 130 (Step 20). Steps 20 through 60 b are repeated until the detected frequency error falls within acceptable limits and then the coefficient values are stored as part of Step 60 a.

[0050] Turning now to FIG. 3, there is a graph of the resulting change in the frequency of the output of an exemplary frequency synthesizer using a conventional crystal oscillator for whom the crystal coefficient values are being recalculated according to steps of FIG. 2. As Steps 20 through 60 b are repeated and the crystal's coefficients are recalculated, the resulting output frequency from the frequency synthesizer converges to the targeted frequency and the frequency error may decrease with each iteration,

[0051] While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention. 

What is claimed:
 1. A method comprising estimating a crystal coeficient value of a crystal functionally associated with a signal generator in relation to an error signal produced by at least a partial comparison of an output of the frequency synthesizer and a target frequency.
 2. The method according to claim 1, further comprising producing a frequency synthesizer control signal correlated to the target frequency.
 3. The method according to claim 2, further comprising factoring a crystal temperature value into an estimation of the crystal coefficient value and into the synthesizer control signal.
 4. The method according to claim 3, further comprising adjusting the frequency synthesizer control signal in relation to the estimated crystal coefficient value.
 5. The method according to claim 3, further comprising updating the estimated crystal coefficient value until the error signal falls below a predefined threshold value.
 6. The method according to claim 5, further comprising adjusting the synthesizer control signal each time the estimated crystal coefficient value is updated.
 7. The method according to claim 6, further comprising estimating a plurality of crystal coefficient values relating to a single crystal based on an error signal and a crystal temperature value.
 8. A signal generator comprising: a frequency synthesizer comprising a crystal oscillator; a frequency error detector operatively connected to said crystal oscillator; and a processing unit operatively connected with said crystal oscillator and said frequency error detector, said processing unit adapted to store a first crystal coefficient value and adapted to estimate a second crystal coefficient value in relation to output from said frequency error detector.
 9. The signal generator according to claim 8, wherein said processing unit generates a frequency synthesizer control signal correlated to a target frequency.
 10. The signal generator according to claim 9, further comprising a temperature measurement unit operatively coupled to said crystal oscillator.
 11. The signal generator according to claim 10, wherein said processing unit estimates the second crystal coefficient value partially based on an output from said temperature measurement unit.
 12. The signal generator according to claim 11, wherein said processing unit regenerates a new frequency synthesizer control signal correlated to a target frequency each estimation of the crystal coefficient value.
 13. The signal generator according to claim 12, wherein said processing unit estimates a plurality of crystal coefficient values.
 14. The signal generator according to claim 12, wherein said processing unit continues to estimate a new crystal coefficient value and to regenerate new frequency synthesizer control signals until the output from said frequency error detector indicates a frequency error below a predefined threshold.
 15. An article comprising: a storage medium having stored thereon instructions, that, when executed by a computing platform, cause the computing platform to estimate a crystal coefficient value relating a crystal oscillator within a frequency synthesizer, said estimate at least partially being based on input from a frequency error detector.
 16. The article of claim 15, further comprising instructions when executed cause the platform to factor in a crystal temperature.
 17. The article of claim 16, further comprising instructions when executed cause the platform to generate a control signal to said frequency synthesizer.
 18. The article of claim 17, further comprising instructions when executed cause the platform to estimate the crystal coefficient value and to generate a control signal calculated to cause said frequency to produce a signal at a target frequency.
 19. The article of claim 18, further comprising instructions when executed cause the platform to repeat the estimating a crystal coefficient value and generating a control signal until the input from said frequency detector indicates a signal error below a predetermined level. 